Microcomputers generally operate in accordance with a sequence of instructions derived from a stored program. One important part of each instruction is the so-called "function" which is to be carried out by the processor in response to that instruction. It is also important to identify the data, or the name of the register holding the data, or the address in memory where the data can be found, on which that function is to be carried out. As the processor must know how to respond to any particular "function" which arises in an instruction from the program, it is necessary to operate with a limited set of possible "functions". This is known as a "function set" and represents the full range of functions which the processor is capable of identifying and obeying. Each time an instruction is received by the processor it has to translate the function of that instruction into one or more micro-instructions which control the transfer of electrical signals within the microcomputer so that signal exchanges occur between registers, memory and data paths in order to carry out the required instructions.
The development of integrated circuit technology has led to more components being provided on a microcomputer chip with a demand for an increased range of functions by the processor. This has caused function sets used in microcomputers to become more complex. The function sets have attempted to cover a greater quantity of functions thereby requiring larger numbers of bits in order to define the functions and this in turn has required increased decoding in order for the processor to respond to the coded function. Larger function sets have required a larger processor as well as greater time delays in decoding the functions and carrying out the micro-instructions resulting from those functions.